
this.rjapmn_md = this.rjapmn_md || {};

(function(win, doc) {
	/* インプットテキスト
	----------------------------------- */
	function inputText() {
		var $inputText = $('input:text');

		$inputText.each(function(i){
			$(this).focus(function(e){
				$(this).addClass('input-focus');
				if(this.value == this.defaultValue){
					$(this).val('');
				};
			}).blur(function(e){
				if(this.value == ''){
					$(this).val(this.defaultValue).removeClass('input-focus');
				};
			});
			if (this.value != this.defaultValue) {
				$(this).addClass('input-focus');
			};
		});
	}
	

	var canSearch,canSelecteki;
	$btn = $('.mod_btn_append a');
	
	function UpdateStatus(){
	
		
		var isSlt = false;
		var isCheck = false;
		var $inputText = $('input:text');

		var $modalBtnParent = $('.btn_next'),
		$modalBtn = $('#btnNext'),
		$SearchBtn = $('#btnSelectEkis')
		
		
		
		$inputText.each(function(i){
			if (this.value != this.defaultValue && this.value != '') {
				isSlt = true;
			};
		});
		if (canSearch != isSlt) {
			canSearch = isSlt;
			
//			if (canSearch) {
//				//$modalBtn.attr("href", "#stations")
//				
//				$modalBtn.addClass('mod_btn_all_blue');
//				$modalBtn.removeClass('mod_btn_gray');
//				
//			} else {
//				//$modalBtn.attr("href", "javascript: void(0);");
//				
//				$modalBtn.addClass('mod_btn_gray');
//				$modalBtn.removeClass('mod_btn_all_blue');
//			};
		};
		
		
		isSlt = false;
		isCheck = false;
		$inputText = $('input[name^="input-ekicode"]');
		$inputText.each(function(i){
			if (this.value != '') {
				isSlt = true;
			};
		});
		if (canSelecteki != isSlt) {
			canSelecteki = isSlt;
			
			if (canSelecteki) {
				$SearchBtn.attr("href", "javascript:rjapmn_md.SelectEkis();")
			} else {
				$SearchBtn.attr("href", "javascript: void(0);");
			};
		};
		
		return false;
	};
	

	
	

	rjapmn_md.clearEki = function(idx){
		$('#input-ekicode' + idx).val('');
		$('#input-target' + idx).val('');
		$('#input-eki' + idx).val('');
		UpdateStatus();
	};
	

	rjapmn_md.selectEki = function(idx,inputstr, name, rosencd, ekicd){
		//$('#input-station' + idx).val(name);
		$('#input-ekicode' + idx).val(rosencd);
		$('#input-eki' + idx).val(inputstr);
		$('#input-target' + idx).val(ekicd);
		
		UpdateStatus();
		//$('#select_list' + idx).empty();
	}
	
	/* モーダル 位置
	----------------------------------- */
	function modalPosition() {
		$('#btnNext').on('click', function(e){
			var _id = $(this).attr('href');
			
			if (_id.indexOf('#') != 0)
				return;
			
			var	_st = $(window).scrollTop(),
				_wh = $(window).height(),
				_ch = $(_id).height();
			if (_wh > _ch) {
				$(_id).css({ 'top': _st + (_wh-_ch)*0.5 });
			} else {
				$(_id).css({ 'top': _st + 20 });
			};
		});
	};

	/* 実行
	----------------------------------- */
	$(function() {
		inputText();
		modalPosition();
	});


	$("input[name='input-station']").on('input', function() {
		var idx = $(this).data('seq');
		
		//テキストボックスが変更されたらClear
		if 	($('#input-eki' + idx).val() != $(this).val())
		{
			rjapmn_md.clearEki(idx);
		}
		
		UpdateStatus();
		
		//4byte以上→検索
		if(countJapaneseString($(this).val()) > 0){	
			
			//AjaxEkiSearch(idx,$(this).val(),true);
			
		}
		
	});
		

	function countJapaneseString(str) { 
	    var r = 0; 
	    for (var i = 0; i < str.length; i++) { 
	        var c = str.charCodeAt(i); 
	        // Shift_JIS: 0x0 ～ 0x80, 0xa0 , 0xa1 ～ 0xdf , 0xfd ～ 0xff 
	        // Unicode : 0x0 ～ 0x80, 0xf8f0, 0xff61 ～ 0xff9f, 0xf8f1 ～ 0xf8f3 
	        if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) { 
	            //r += 1; //全角文字だけカウントする。
	        } else { 
	            r += 1; 
	        } 
	    } 

	    return r; 
	} 

	function AjaxEkiSearch(idx,keyword,doasync)
	{
		if (keyword == undefined || keyword == '' || keyword == '駅名を入力してください')
			return;
		
		 
		$.ajax({
			beforeSend: function(xhr){
		    	 xhr.overrideMimeType("text/html;charset=UTF-8");
			},
			type: 'POST',
			url: '/areaajax/getekirosencd/',
			dataType: 'text',
			data:{eki:keyword,likeop:"1"},
			async : doasync,
			success: function(data) {
//				console.log(data);
				
				if ($("#input-station" + idx).val() != keyword)
					{
						AjaxEkiSearch(idx,$("#input-station" + idx).val(),doasync);
						return;
					}
				if(data != undefined && data != '' && data.replace(/(\r\n|\n|\r)/gm,"") != ''){
					$('#select_list' + idx).empty();
					
					//データフォーマット駅（都道府県）|都道府県CDー駅CD;...								
					  var vals = data.split(';');								  								  
					  for(var i = 0; i < vals.length; i++){
						  var splitVals = vals[i].replace(/(\r\n|\n|\r)/gm,"").split('|');
						  var tag = '';
						  
						  tag = tag + '<li><label class="list_wrap"><span class="box_radio"><input name="radio_'+ idx + '" type="radio" value="' + vals[i].replace(/(\r\n|\n|\r)/gm,"") +'" class="input_check"';
						  tag = tag + ' onclick="javascript:rjapmn_md.selectEki(' + idx + ",'" + keyword + "','" + splitVals[0] + "','" + splitVals[1] + "','" + splitVals[2] + "')" + '" /></span>'
						  tag = tag + '<span class="box_txt">' + splitVals[0];
						  tag = tag + '</span></label></li>';
						  
						  $('#select_list' + idx).append(tag);
						  //$('#select_list' + idx).append('<li><a href="javascript:void(0)" onclick="selectEki(' + idx + ",'" + splitVals[0] + "','" + splitVals[1] + "','" + splitVals[2] + "')" + '"' + '>' + splitVals[0] + '</a></li>')
					  }
					  
					  $('#select_list_announce' + idx).empty();
					  $('#select_list_announce' + idx).append('<strong>「'+keyword+'」</strong>' + 'の候補が複数見つかりました。検索したい駅名をひとつ選択してください。');
					  
					 $('#select_list_area' + idx).show();
				}
				else
					{
					$('#select_list' + idx).empty();
					 	$('#select_list_announce' + idx).empty();
					 	$('#select_list_announce' + idx).append('<strong>「'+keyword+'」</strong>' + 'の駅が見つかりませんでした。');
					 	$('#select_list_area' + idx).show();
					}
				
			},
			error:function() {
				$('#select_list' + idx).empty();
			}
		});
		
	}
	
	function submit(action, method, values) {
	 	   var form = $('<form/>', {
		        action: action,
		        method: method
		    });
		    $.each(values, function() {
		        form.append($('<input/>', {
		            type: 'hidden',
		            name: this.name,
		            value: this.value
		        }));    
		    });
		    form.appendTo('body').submit();
		};


		
		
		//次へボタンをクリック
    $('#btnNext').on('click', function(e){
    	UpdateStatus();
    	if (!canSearch)
    	{
    		$('#announceInput').show();
    		$('#btnSelectEkis').hide();
    	}
    	else
		{
    		$('#announceInput').hide();
    		$('#btnSelectEkis').show();
		}
    		
    		
    	
    	var inputcnt = 0;
    	var selectcnt = 0;
    	var checker = false; //次のボタンを表示するかチェックする
		var $inputText = $('input:text');
		$inputText.each(function(i){
			if (this.value != this.defaultValue && this.value != '') {
				inputcnt++;
			};
		});
		
		
    	for(var i = 1; i <= 3; i++){
    	 
    		var iptstr = $('#input-station' + i).val();
    		
    		if (iptstr != '' && iptstr != $('#input-station' + i).prop('defaultValue')
    				&& $('#input-ekicode' + i).val() == ''
    		)
			{
        		if 	($('#input-eki' + i).val() != iptstr)
        		{
        			AjaxEkiSearch(i,iptstr,false);
        		}
        		
        		var items = $('#select_list' + i).children();
        			
    			//候補がひとつの場合
        		if (items.length == 1)
        		{
        			checker = true;
        			$('#select_list_announce' + i).empty();
        			$('#select_list' + i).find('.input_check').click();
        			$('#select_list_area' + i).hide();
        		}
        		//複数の場合
        		else if (items.length > 1)
    			{
        			checker = true;
        			$('#select_list_area' + i).show();
    			}
        		//再検索してみる。
        		else if (items.length == 0)
        		{
					$('#select_list' + i).empty();
				 	$('#select_list_announce' + i).empty();
				 	$('#select_list_announce' + i).append('<strong>「'+iptstr+'」</strong>' + 'の駅が見つかりませんでした。');
				 	$('#select_list_area' + i).show();
        		}
    		}
    		else
			{
    			$('#select_list_area' + i).hide();
			}
    	}
    	
    	//次へボタンを表示非表示
    	if (checker)
    		$('#btnSelectEkis').show();
    	else
    		$('#btnSelectEkis').hide();
    	
    	
    	//選択されたコードを確認
    	$inputText = $('input[name^="input-ekicode"]');
 		$inputText.each(function(i){
 			if (this.value != '') {
    			selectcnt++;
 			};
 		});
    	
 		
    	//完全一致の場合そのまま検索に
    	if (inputcnt > 0 && inputcnt == selectcnt)
    		{
    			$("#btn_nextP").hide();
    			$("#modal_closeP").hide();
    			rjapmn_md.SelectEkis();
    			return;
    		}

    });

		

	//検索ボタンクリック
	rjapmn_md.SelectEkis = function () {
		
//		if (!rjapmn_md.canSearch)
//		{	
//			return false;
//		}

		
		var items=[];
		var typ = $('input[name="search_type"]').attr("value");
		var listtype = $('#listtype').val();
		items.push({name:'search_type',value:typ});
		
		var ekis = '';
		for(var i = 1; i <= 3; i++){
			if ($('#input-ekicode' + i).val() != '')
				{
					var ek = $('#input-ekicode' + i).val().split('-');
					ekis = ekis + ek[ek.length-1];
					
					ekis = ekis + ':' + $('#input-time' + i).val();
					ekis = ekis + ':' + $('#input-transfer' + i).val() + ";";
				}
		}
		
		items.push({name:"tsukintargetekicd",value:ekis});

		items.push({name:"target_0",value:$('#input-target1').val()});
		items.push({name:"target_1",value:$('#input-target2').val()});
		items.push({name:"target_2",value:$('#input-target3').val()});

		
		//グループ
		if($('#madoriGroupCheck').attr('checked')){
			var firstIndex = -1;
			var firstMadori = $('#madoriGroup').val();			
			$('input[type=checkbox][name^=madori]').each(function(index){
				if($(this).val() == firstMadori){
					firstIndex = index;
					return;
				}		
			});
			
			$('input[type=checkbox][name^=madori]').each(function(index){				
				if(index >= firstIndex && $(this).attr('id') != 'madoriGroup'){					
					$(this).attr('checked', true);
				}		
			});
		}
		//グループ
		
		$('input:checked').each(function(index){
			var elem = $(this);
			var val = elem.attr("value");
			if(elem.attr('name').indexOf('madori') == 0){
				val = 'on';
			}
			if(elem.attr("name") != ""){
				items.push({name:elem.attr("name"), value:val});
			}			
		});
		
		

		//CheckBox
		$('input:checked').each(function(index){
			var elem = $(this);
			var val = elem.attr("value");
			if(elem.attr('name').indexOf('madori') == 0){
				val = 'on';
			}
			if(elem.attr("name") != ""){
				items.push({name:elem.attr("name"), value:val});
			}			
		});
		
		//Dropdown
		$('select').each(function(index){
			var elem = $(this);
			items.push({name:elem.attr("name"),
				    value:elem.find("option:selected").attr("value")});
		});
//		
//		//★★★検索する前家賃と間取り条件をCookieに保存する		
//		var tinryo1 = $('select[name=tinryo1]').first().val();
//		var tinryo2 = $('select[name=tinryo2]').first().val();
//		if(tinryo2 == '9999999') tinryo2 = '0'
//		var madori = [];
//		$('input[name^=madori]:checked').each(function(){
//			madori.push($(this).attr('name'));
//		});
//		var cons = "tinryo1:" + tinryo1 + "|tinryo2:" + tinryo2 + "|madori:" + madori.join();
//		$.cookie.defaults = { path: '/' }; 
//		$.cookie('SAVE_CONS', cons);

		//submit('/rstobi/rstobi','POST',items);
		
		//条件選択ページに飛ばす。
		//items.push({name:'NextHope',value:1});

		submit('/sp/search/tsukintsugakujikansearch/','POST',items);
		
	}
})(this, document);